package com.tl.boot.service.menu;

import com.tl.boot.entity.menu.domain.MenuAfterLoginInfo;
import com.tl.boot.entity.menu.dto.AddMenuDTO;
import com.tl.boot.entity.menu.dto.ListMenuInfoDTO;
import com.tl.boot.entity.menu.dto.UpdateMenuBindResourceDTO;
import com.tl.boot.entity.menu.dto.UpdateMenuInfoDTO;
import com.tl.boot.entity.menu.vo.ListMenuInfoVO;
import com.tl.boot.entity.menu.vo.QueryMenuInfoVO;

import java.util.List;

/**
 * com.tl.boot.service.menu -- MenuService
 * Description:
 * Created by joshua_liu <a href="mailto:joshualwork@163.com"></a>
 * On 2019/9/16 14:47
 */
public interface MenuService {
    Long addMenuInfo(AddMenuDTO dto);

    List<MenuAfterLoginInfo> parentMenuInfos(List<Long> parentIds);

    List<ListMenuInfoVO> listMenuInfo(ListMenuInfoDTO dto);

    void delMenuInfo(Long menuId);

    void updateMenuInfo(UpdateMenuInfoDTO dto);

    QueryMenuInfoVO queryMenuInfo(Long menuId);

    Long updateMenuBindResource(UpdateMenuBindResourceDTO dto);

    List<MenuAfterLoginInfo> queryMenuAfterLoginInfo(List<Long> resultMenuIds, List<Long> hasPermissionIds);
}
